package ru.st.selenium.pages;

import static org.openqa.selenium.support.ui.ExpectedConditions.presenceOfElementLocated;

import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;

public class Pwd extends AnyPage {

	public Pwd(PageManager pages) {
		super(pages);
	}

	@FindBy(xpath = "//div[@class='x-box-inner']/div[1]//tbody/tr[1]/td[2]/input [ancestor::div[@class='x-window-mc']]")
	private WebElement lastNameField;

	@FindBy(xpath = "//div[text()='Имя пользователя']/parent::td/parent::tr/parent::tbody/parent::table/parent::div/parent::div/following-sibling::div/input")
	private WebElement loginNameField;
	
	@FindBy(xpath = "//div[text()='Имя пользователя']/parent::td/following-sibling::td[1]/div")
	private WebElement clickLoginNameField;
	
	@FindBy(id = "flow")
	private WebElement Frem;

	// Уходим во фрейм
	public Pwd gotoFremUserProfilePage() {
		driver.switchTo().frame(Frem);
		return this;
	}
	
	
	public String getLastName() {
		return lastNameField.getAttribute("value");
	}

	public Pwd setUsernameField(String text) {
		lastNameField.sendKeys(text);
		return this;
	}

	public String getLoginName() {
		clickLoginNameField.click();
		return loginNameField.getAttribute("value");
	}

	public Pwd setLoginField(String text) {
		loginNameField.sendKeys(text);
		return this;
	}
	
	
	
	// Проверяем и ожидаем, что на странице имеется соответствующий элемент
	public Pwd ensurePageLoaded() {
		super.ensurePageLoaded();
		wait.until(presenceOfElementLocated(By
				.xpath("//tbody/tr//label[text()='Дата рождения:']")));
		wait.until(presenceOfElementLocated(By
				.xpath("//tbody/tr//label[text()='Должность:']")));
		return this;
	}
}
